/**
 * 链式添加方法
 * 知识点
 *      1、虽然已经在Function.prototype.addMethod中返回this
 *         但在实例中使用时仍然要返回this以保证链式函数的正常使用
 */
Function.prototype.addMethod = function(name, fn) {
    this[name] = fn;
    return this;
}

var methods = function() {};
methods.addMethod('checkName', function() {
    console.log('checkName');
    return this;
}).addMethod('checkEmail', function() {
    console.log('checkEmail');
    return this;
});

methods.checkName().checkEmail();//函数调用方式
